package com.admin_system.service;

/**
 * 验证码服务接口
 * 用于生成、验证和管理验证码
 */
public interface VerificationCodeService {
    
    /**
     * 生成验证码并保存
     * 
     * @param email 关联的邮箱
     * @return 生成的验证码
     */
    String generateCode(String email);
    
    /**
     * 验证验证码是否有效
     * 
     * @param email 关联的邮箱
     * @param code 要验证的验证码
     * @return 验证通过返回true，失败返回false
     */
    boolean verifyCode(String email, String code);
    
    /**
     * 创建密码重置令牌
     * 
     * @param email 关联的邮箱
     * @return 重置令牌
     */
    String createResetToken(String email);
    
    /**
     * 检查是否存在有效的重置令牌
     * 
     * @param email 关联的邮箱
     * @return 存在有效的重置令牌返回true，否则返回false
     */
    boolean hasValidResetToken(String email);
    
    /**
     * 清除重置令牌
     * 
     * @param email 关联的邮箱
     */
    void clearResetToken(String email);
} 